// 指针是一个变量，其值为另一个变量的内存地址。在 Go 中：

// 使用 *T 表示指向类型 T 的指针类型
// 使用 & 运算符获取变量的内存地址
// 使用 * 运算符解引用指针（获取指针指向的值）

// 作用：
// 指针是存储变量内存地址的数据类型，主要作用是允许函数修改外部变量、避免复制大型数据结构

// 指针使用说明
// 核心概念：(a是一个变量)

// 指针地址：" &a "
// 指针取值: " *&a "
// 指针类型: " *T " , eg: *int
package main

import (
	"fmt"
)

func main() {
	//指针地址&a、指针取值*a
	a := 10
	b := &a
	c := *&a
	fmt.Println(a, b, c)                             //10 0xc0000a4010 10 10
	fmt.Printf("a的类型是%T,b的类型是%T,c的类型是%T\n", a, b, c) //a的类型是int,b的类型是*int,c的类型是int

}
